package com.ohs.ohsoa.system.service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.ohs.ohsoa.system.dto.TopMeetingDto;
import com.ohs.ohsoa.system.entity.Meeting;
import com.ohs.ohsoa.system.mapper.TopMeetingMapper;
import com.ohs.ohsoa.system.vo.TopMeetingVo;
import com.ohs.ohsoa.utils.IsNull;
import com.ohs.ohsoa.utils.bean.requestBean.PageParam;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class TopMeetingServiceImpl extends ServiceImpl<TopMeetingMapper, Meeting> implements TopMeetingService {

    @Resource
    private TopMeetingMapper topMeetingMapper;

    /**
     * 分页查询
     *
     * @param pageParam 检索用参数
     * @return 会议列表
     * @author ccj
     * @since  2021年9月29日
     */
    @Override
    public List<TopMeetingVo> selectMeetingList(PageParam<TopMeetingDto> pageParam) {
        // 获取notice对象
        TopMeetingDto topMeetingDto = pageParam.getSearchbean();
        // 分页
        PageHelper.startPage(pageParam.getIndexPage(), pageParam.getPageSize());
        //拼接日期
        if (IsNull.isNotNull(topMeetingDto.getMbtime()) && !(topMeetingDto.getMbtime().length()>10)){
            topMeetingDto.setMbtime(topMeetingDto.getMbtime()+" 00:00:00");
        }
        if (IsNull.isNotNull(topMeetingDto.getMetime()) && !(topMeetingDto.getMetime().length()>10)){
            topMeetingDto.setMetime(topMeetingDto.getMetime()+" 23:59:59");
        }
        // 判断日期是否为空
        if (IsNull.isNull(topMeetingDto.getMbtime())) {
            topMeetingDto.setMbtime(null);
        }
        if (IsNull.isNull(topMeetingDto.getMetime())) {
            topMeetingDto.setMetime(null);
        }

        // 获取并返回notice集合
        return topMeetingMapper.selectMeetingList(topMeetingDto);
    }
    /**
     * 获取详细信息
     *
     * @author ccj
     * @since  2021年9月24日
     * @param topMeetingDto 会议列表信息
     * @return 实例对象
     */
    @Override
    public TopMeetingVo selectMeeting(TopMeetingDto topMeetingDto) {
        return topMeetingMapper.selectMeeting(topMeetingDto);
    }
}
